package asposefeatures.workingwithcharts.updatecharts.java; import com.aspose.slides.ChartType; import com.aspose.slides.IChart; import com.aspose.slides.IChartDataWorkbook; import com.aspose.slides.IChartSeries; import com.aspose.slides.ISlide; import com.aspose.slides.Presentation; import com.aspose.slides.SaveFormat; public class AsposeUpdateExistingChart { public static void main(String[] args) { String dataPath = "src/asposefeatures/workingwithcharts/updatecharts/data/"; // Instantiate Presentation class that represents PPTX file//Instantiate // Presentation class that represents PPTX file Presentation pres = new Presentation(dataPath + "AsposeChart.pptx"); // Access first slide ISlide sld = pres.getSlides().get_Item(0); // Add chart with default data IChart chart = (IChart) sld.getShapes().get_Item(0); // Setting the index of chart data sheet int defaultWorksheetIndex = 0; // Getting the chart data worksheet IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook(); // Changing chart Category Name fact.getCell(defaultWorksheetIndex, 1, 0, "Modified Category 1"); fact.getCell(defaultWorksheetIndex, 2, 0, "Modified Category 2"); // Take first chart series IChartSeries series = chart.getChartData().getSeries().get_Item(0); // Now updating series data fact.getCell(defaultWorksheetIndex, 0, 1, "New_Series1");// modifying // series name series.getDataPoints().get_Item(0).getValue().setData(90); series.getDataPoints().get_Item(1).getValue().setData(123); series.getDataPoints().get_Item(2).getValue().setData(44); // Take Second chart series series = chart.getChartData().getSeries().get_Item(1); // Now updating series data fact.getCell(defaultWorksheetIndex, 0, 2, "New_Series2");// modifying // series name series.getDataPoints().get_Item(0).getValue().setData(23); series.getDataPoints().get_Item(1).getValue().setData(67); series.getDataPoints().get_Item(2).getValue().setData(99); // Now, Adding a new series chart.getChartData().getSeries() .add(fact.getCell(defaultWorksheetIndex, 0, 3, "Series 3"), chart.getType()); // Take 3rd chart series series = chart.getChartData().getSeries().get_Item(2); // Now populating series data series.getDataPoints().addDataPointForBarSeries( fact.getCell(defaultWorksheetIndex, 1, 3, 20)); series.getDataPoints().addDataPointForBarSeries( fact.getCell(defaultWorksheetIndex, 2, 3, 50)); series.getDataPoints().addDataPointForBarSeries( fact.getCell(defaultWorksheetIndex, 3, 3, 30)); chart.setType(ChartType.ClusteredCylinder); // Save presentation with chart pres.save(dataPath + "AsposeChartModified.pptx", SaveFormat.Pptx); System.out.println("Done"); } }